﻿
Imports System.IO
Imports xmlctrl

'always strict

Public Class rsscontrol_2_0
    Inherits xmlcontrol

    Protected Overridable Function availableAttribute(ByRef key As String) As Boolean
        Return False
    End Function

    Public Sub New(ByRef buff As MemoryStream, ByRef tag As String)
        MyBase.New(buff, tag)
    End Sub

    Public Property url() As String
        Get
            assert(availableAttribute("url"))
            Return attribute("url")
        End Get
        Set(ByVal value As String)
            assert(availableAttribute("url"))
            attribute("url") = value
        End Set
    End Property

    Public Property length() As Int64
        Get
            assert(availableAttribute("length"))
            Return attribute("length")
        End Get
        Set(ByVal value As Int64)
            assert(availableAttribute("length"))
            attribute("length") = value
        End Set
    End Property

    Public Property type() As String
        Get
            assert(availableAttribute("type"))
            Return attribute("type")
        End Get
        Set(ByVal value As String)
            assert(availableAttribute("type"))
            attribute("type") = value
        End Set
    End Property

    Public Property domain() As String
        Get
            assert(availableAttribute("domain"))
            Return attribute("domain")
        End Get
        Set(ByVal value As String)
            assert(availableAttribute("domain"))
            attribute("domain") = value
        End Set
    End Property

    Public Property port() As Int64
        Get
            assert(availableAttribute("port"))
            Return attribute("port")
        End Get
        Set(ByVal value As Int64)
            assert(availableAttribute("port"))
            attribute("port") = value
        End Set
    End Property

    Public Property path() As String
        Get
            assert(availableAttribute("path"))
            Return attribute("path")
        End Get
        Set(ByVal value As String)
            assert(availableAttribute("path"))
            attribute("path") = value
        End Set
    End Property

    Public Property registerProcedure() As String
        Get
            assert(availableAttribute("registerProcedure"))
            Return attribute("registerProcedure")
        End Get
        Set(ByVal value As String)
            assert(availableAttribute("registerProcedure"))
            attribute("registerProcedure") = value
        End Set
    End Property

    Public Property protocol() As String
        Get
            assert(availableAttribute("protocol"))
            Return attribute("protocol")
        End Get
        Set(ByVal value As String)
            assert(availableAttribute("protocol"))
            attribute("protocol") = value
        End Set
    End Property

    Public Property isPermaLink() As Boolean
        Get
            assert(availableAttribute("isPermaLink"))
            Return attribute("isPermaLink")
        End Get
        Set(ByVal value As Boolean)
            assert(availableAttribute("isPermaLink"))
            attribute("isPermaLink") = value
        End Set
    End Property

End Class
